"""
###########################################
形状识别
分别可识别直线、矩形、圆形
###########################################
"""

import sensor
import image
import lcd


def camera_init():
    sensor.reset()
    sensor.set_pixformat(sensor.RGB565)
    sensor.set_framesize(sensor.QVGA)
    sensor.skip_frames(10)
    sensor.run(1)
"""
###########################################
以下初始化以适配亚博K210
###########################################
"""

lcd.init(freq=15000000, color=65535, invert=1)
lcd.rotation(2)
camera_init()
sensor.set_windowing((240, 120))#减小像素防止卡顿
sensor.set_vflip(1)
sensor.set_hmirror(1)
###########################################

while True:
    img = sensor.snapshot()#获取一张照片
    #识别矩形
    #for i in img.find_rects([0,0,240,120],threshold=10000):
        #img = img.draw_rectangle(i.rect(),(0,250,0),2,0)#把识别到的图形画出来
    #识别直线
    #for i in img.find_lines([0,0,320,240],threshold=2000,theta_margin=25,rho_margin=25):
        #img = img.draw_line(i.line(),(0,250,0),2,1)#把识别到的图形画出来
    #识别圆
    for i in img.find_circles([0,0,320,240],threshold=3000,x_margin=10,y_margin=10,r_margin=10,r_min=2,r_max=100,r_step=2):
        img = img.draw_circle([i.x(),i.y(),i.r()],(0,250,0),2,1)#把识别到的图形画出来
    lcd.display(img)
